export default {
  data() {
    return {
      loading: false,
      formData: {},
      rules: {}
    }
  },
  methods: {
    // 通用表单验证方法
    validateForm() {
      return new Promise((resolve, reject) => {
        this.$refs.form.validate(valid => {
          if (valid) {
            resolve()
          } else {
            reject(new Error('表单验证失败'))
          }
        })
      })
    },
    // 通用提交方法
    async submitForm() {
      try {
        await this.validateForm()
        this.loading = true
        // 子组件需要实现具体的提交逻辑
        await this.handleSubmit()
      } catch (error) {
        this.$message.error(error.message || '操作失败')
      } finally {
        this.loading = false
      }
    },
    // 通用重置方法
    resetForm() {
      this.$refs.form.resetFields()
    }
  }
} 